package perucuy.struts;

import java.io.IOException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

import perucuy.services.Dominios;

public class StartupServlet extends HttpServlet {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private Context ctx;
    private static final Logger log = Logger.getLogger(StartupServlet.class);
    
    
    //Initialize global variables
    public void init() throws ServletException {
        try {
            ctx = new InitialContext();
//            iniciarOpcionesPortal();
            iniciarListasConsulta();
        } catch (NamingException ex) {
            log.fatal(ex);
        }
    }
    
    private void iniciarListasConsulta() throws NamingException {
        log.debug("instanciando datos detalles");
        Dominios srv = Dominios.getInstance();
        log.debug("guardando Dominios en " + ctx);
        ctx.rebind(Dominios.CONSULTA_SERVICE, srv);
        log.debug("Dominios guardado");
    }
    
/*    private void iniciarOpcionesPortal() throws NamingException {
        log.debug("isntanciando ContenidoPortalService");
        ContenidoPortalService service = new ContenidoPortalService();
        log.debug("guardando ContenidoPortalService en " + ctx);
        ctx.rebind(ContenidoPortalService.CONTENIDO_SERVICE, service);
        log.debug("" + service + " guardado");
    }*/
    
    //Clean up resources
    public void destroy() {
        try {
            log.debug("quitando Dominios");
            ctx.unbind(Dominios.CONSULTA_SERVICE);
        } catch (NamingException ex) {
            log.warn(ex);
        }
    }
    
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
            ServletException, IOException {
        String recargar = req.getParameter("recargar");
        try {
/*            if ("todo".equals(recargar) || "contenido".equals(recargar)) {
                iniciarOpcionesPortal();
            }*/
            if ("todo".equals(recargar) || "dominios".equals(recargar)) {
                iniciarListasConsulta();
            }
        } catch (NamingException ex) {
            log.fatal(ex);
        }
    }
}
